For a robot or machine tool, sometimes a single drive motor is not good enough to effectively accelerate or decelerate its movable member when such movable member is of large size, or the movable member cannot be moved stably due to the backlash between the motor and the movable member. In such a case, a tandem control is employed, wherein torque commands are given to two motors to control a common shaft by these two motors.
FIGS. 14 through 17 are views showing several examples of tandem control systems based on conventional digital servomechanisms. FIG. 14 shows a first example of the tandem control wherein a movable member is linearly moved. More specifically, a pair of main motor 100 and sub motor 110 is provided to control the drive of a linearly movable rack 120 as a movable member. The main motor 100 transmits a driving force to the rack 120 via a speed reduction device 101 and a pinion 102. Also, the sub motor 110 transmits another driving force to the rack 120 via another speed reduction device 111 and another pinion 112.
FIG. 15 shows a second example of the tandem control system wherein a movable member is rotated. More specifically, a pair of main motor 100 and sub motor 110 is provided to control the rotational movement of a rotary rack 120 as a movable member. Transmission of driving forces from respective motors is made via speed reduction devices 101, 111 and pinions 102, 112 in the same manner as the first example of the tandem control system.
FIG. 16 shows a third example of the tandem control system designed for linearly moving the movable member, wherein the drive of the movable member 121 is controlled by two motors, namely the main motor 100 and sub motor 110 through two screw members 103 and 113 connected to the main motor and the sub motor respectively. The movable member 121 engages with both the two screw members 103 and 113, whose one ends are fixed to the fixing member 122, in order to have its drive controlled through the screw members 103 and 113 which are respectively driven by the two motors.
Furthermore, FIG. 17 shows a fourth example of the tandem control system designed for linearly moving, wherein a movable member 123 is driven by main motor 100 and sub motor 110 via a screw member 104 whose ends are connected respectively to the main motor 100 and the sub motor 110.
FIG. 18 is a block diagram showing a circuit arrangement for performing a tandem control based on a conventional digital servomechanism. The control blocks shown in FIG. 18 constitute a circuit for controlling a machine table 12 by a numerical control unit 1. A main servo motor 6 and a sub servo motor 7 are both connected to the machine table 12 via transmission mechanisms 10 and 10, respectively. Each of servo motors 6 and 7 is driven by a command signal sent from a servo amplifier 4 which is controlled by a current command sent from a digital servo control unit 3. Position feedback Mfb and Sfb (Mfb represents a position feedback of the main servo motor 6, while Sfb represents a position feedback of the sub servo motor 7) and speed feedback Vf1 and Vf2 (Vf1 represents a speed feedback of the main servo motor, while Vf2 represents a speed feedback of the sub servo motor) from servo motors 6 and 7 to the digital servo control unit 3 are made through detectors 8 and 9. For current feedback, current is fed back from each of servo amplifiers 4 and 5 to the digital servo control unit 3. Furthermore, a machine position feedback amount Tfb is fed back from the machine table 12 to the digital servo control unit 3 through a detector 13.
Furthermore, the numerical control unit 1 is connected to the digital servo control unit 3 via a shared RAM 2, to share the data between them.
Moreover, FIG. 19 is a block diagram showing a principal part of the control blocks for performing the tandem control based on a conventional digital servomechanism. In the principal-part block diagram of FIG. 19, two motors (a main motor and a sub motor) not shown are driven respectively by a main current command and a sub current command sent from the current control sections 17 and 18.
A position deviation "e", which is a difference between a position command "r" and an actual position "p", is multiplied by a coefficient "Kp" of a position gain 14 to obtain a speed command Vc. A speed control section 16 obtains a torque command Tc by an ordinary PI control or the like based on a speed deviation which is a difference between the speed command "Vc" and a speed feedback of the motor.
The torque command Tc is then added to a pre-load torque Tp1 to obtain a torque command Tc1, which is entered into a current control section 17 of the main motor, thereby controlling the main motor. On the other hand, the torque command Tc is added to a pre-load torque Tp2 and a resultant value is entered into an inversion device 19 to obtain a torque command Tc2. Thus obtained torque command Tc2 is entered into a current control section 18 of the sub motor to control the sub motor. The inversion device 19 is a control section for inverting the sign of signal in accordance with rotational directions of the main motor and the sub motor. More specifically, the inversion device 19 will not change the sign of signal when the rotational direction of the main motor is identical with that of the sub motor, while it will change the sign when the rotational direction of the main motor is different from that of the sub motor.
Each of the current control sections 17 and 18 receives a current feedback fb to independently perform the current control. The pre-load torque Tp1 and preload torque Tp2 are torque values required to add a predetermined offset to the torque command Tc calculated in the speed control section 16 in order to cause the main motor and the sub motor to rotate against each other. More specifically, the signs of both torques Tp1 and Tp2 are opposite to each other when the two motors rotate in the same direction, while they are same when the rotational directions of these two motors are different from each other.
Furthermore, the actual position "p" used for obtaining the position deviation "e" is either a position feedback pulse of the machine or a position feedback pulse of the motor obtainable via a switching device 20. The switching device 20 is capable of selectively inputting a machine position feedback pulse Tfb or a motor position feedback pulse Mfb.
According to the above-described conventional tandem controls based on the conventional digital servomechanisms, the position control and speed control are performed only as to the main motor, while the current control is executed independently as to each motor. In such a conventional control method, when the main motor has to produce a large torque in order to counter a large backlash, the movable part will run against the other object at a high speed, since the speed of the sub motor is not controlled, thereby adversely affecting the stability of the system.
Hence, there is provided a speed feedback averaging device 22 shown in FIG. 19 as a means for solving such a problem. This speed feedback averaging device 22 inputs the main motor speed feedback Vf1 and sub motor speed feedback Vf2 through the inversion device 19 and averages the inputted values to obtain the motor speed feedback. Thus, the speed of the sub motor is suppressed based on the obtained motor speed feedback amount, thereby improving the stability.
FIG. 20 illustrates an operation of a tandem control. FIGS. 20(a) through 20(e) sequentially illustrate the change in positional relationship between each axis and a movable member and the torque commands. More specifically, these diagrams illustrate the stages, wherein table acting as the movable member is accelerated (FIG. 20(b)) from the stationary condition (FIG. 20(a)) to a constant speed (FIG. 20(c)), decelerated (FIG. 20(d)) and finally stopped (FIG. 20(e)).
As explained in FIG. 19, opposing pre-load torques are added to the torque command Tc calculated in the speed control section so that the resultant torques can be applied to main axis 105 and sub axis 115 respectively. More specifically, the torque command Tc1 for the main axis is given as Tc1=Tc+Tp1, and the torque command Tc2 for the sub axis is given as Tc2=Tc+Tp2. The pre-load torque has to be large enough for overcoming the friction.
At the stationary condition of FIG. 20(a), the torque command Tc from the speed control section is substantially zero. Therefore, only the pre-load torques are applied to respective motors which thus maintain a stationary condition by being counterbalanced with the pre-load torques acting in the opposite directions as indicated by arrows. At the accelerating condition of FIG. 20(b), the speed control section gives a large drive torque to each motor in the same direction as the moving direction of a movable member as indicated by longer arrows. Therefore, the sub axis 115 receives a torque resulting from a summation of the drive torque and the pre-load torque (i.e. Tc+Tp2). In this case, .vertline.Tc.vertline.&gt;.vertline.Tp2.vertline., and the directions of these torques are opposite, and so the resultant torque acting on the sub axis has the same direction as the direction of movement. Hence, the sub axis moves in the opposite direction against the direction of pre-load torque, sharing a torque required for acceleration with the main axis 105.
At the constant-speed condition of FIG. 20(c), the drive torque required to move the table at a constant speed is not more than that required for just canceling a frictional force as shown by shorter arrows, or .vertline.Tc.vertline.&lt;.vertline.Tp2.vertline.. In addition, the directions of the torques are opposite. Therefore, the sub axis 115 receives a torque acting in the direction opposite to the moving direction of the table and therefore moves in the opposite direction at a constant speed, counterbalancing with the direction of movement of the main axis 105.
At the decelerating condition of FIG. 20(d), a large drive torque is generated for each of the axes in the direction opposite to that of FIG. 20(b). Thus, the main axis 105 moves in the opposite direction, receiving a part of the torque required for deceleration. Furthermore, at the stop condition of FIG. 20(e), the main axis 105 and the sub axis 115 are applied only with the mutually opposing pre-load torques in the same manner as in FIG. 20(a); therefore, a stationary condition is maintained by the counterbalance between the opposite pre-load torques.
However, the above-described tandem control based on the conventional digital servomechanisms has the following problems.
(1) When motors and a machine are connected through a transmission mechanism having a low rigidity, such as a spring, the resonance frequency of such a transmission mechanism would be, for example, somewhere in a low frequency zone ranging from several Hz to several tens Hz. In such a case, the problem will be that if the main motor and the sub motor are driven by the tandem control, because they will vibrate in the opposite directions, causing the system to become unstable.
FIGS. 21(a) and 21(b) show the simulation results of the conventional tandem control. FIG. 21(a) and 21(b) show the variations of speeds of the main motor and the sub motor in response to a positive step command and a negative step command, respectively, wherein the main motor speed is indicated by a solid line and the sub motor speed is indicated by a dashed line.
(2) When a large torque is required for acceleration or deceleration like the cases of FIG. 20(b) and (d), small opposite pre-load torques are not good enough to keep the main axis and the sub axis counterbalanced with each other, since inadequate opposite pre-load torques will cause the moving member to be shifted closer to one of the two axes, thereby giving rise to a problem that the system will become unstable to prevent the backlash.
(3) It may be possible to solve the problem described in above (2) by adding a means for suppressing the influence of backlash, such as a clamp device capable of generating torques in opposite directions so as to always maintain a counterbalanced condition. However, according to the tandem control method utilizing this kind of clamp device, there is a problem that the system will become unstable when the drive operation has to be performed mainly by the sub motor.
FIG. 8 illustrates the torque commands where the clamp device is provided. In the case of FIG. 8(a) where the main motor is chiefly driven to apply a drive torque on the main axis for pulling the movable member, the control will be carried out without causing any detection lag since the positional detection is made by where the main motor. On the other hand, in the case of FIG. 8(b) where the sub motor is chiefly driven to apply a drive torque to the sub axis side for pulling the movable member, a detection lag will occur, causing the system to become unstable, because a position feedback pulse for the position control is detected by the main motor side and the speed command as an input to the speed control section for calculating the torque command is not generated by the sub motor side which generates an actual torque.